package com.zw.a.basic.a14.demo08_tcp_exercise;

//案例: 客户端给服务器端上传文件.

import java.io.*;
import java.net.Socket;

//自定义的客户端, 用来读取文本文件中的数据, 然后传输给服务器端.
public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //1. 创建客户端的Socket对象.
        Socket socket = new Socket("127.0.0.1", 12345);
        //2. 创建字符高效流, 封装数据源文件.
        BufferedReader br = new BufferedReader(new FileReader("day14/data/1.txt"));
        //3. 通过Socket#getOutputStream()获取输出流, 可以往服务器端写数据,
        //为了写入方便, 将其封装成: 字符高效流.
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        //4. 定义变量, 记录读取到的数据.
        String line;
        //5. 循环读取, 只要条件满足, 就一直读, 并将读取到的内容赋值给变量line
        while ((line = br.readLine()) != null) {
            //6. 将读取到的内容写给服务器端.
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        //7. 释放资源.
        br.close();
        socket.close();
    }
}
